package dominio.ativacao.teste;

import java.math.BigDecimal;

import dominio.ativacao.especializacao.FuncaoDegrau;
import dominio.ativacao.especializacao.FuncaoGaussiana;
import dominio.ativacao.especializacao.FuncaoLinear;
import dominio.ativacao.especializacao.FuncaoSignada;

public class TestaFuncoesAtivacao {
	
	public static void main( String[] args ) {
		
		//testa linear
		System.out.println( new FuncaoLinear().toString() );
		for( BigDecimal i = new BigDecimal("-5.0"); 
			i.doubleValue() < new BigDecimal("5.1").doubleValue(); 
			i = i.add(new BigDecimal("0.2")) ) {
			
			System.out.print( i + " - " );
			System.out.println( new FuncaoLinear().aplicarFuncaoAtivacao( i.doubleValue() ) );			
		}
		System.out.println();
		
		//testa degrau
		System.out.println( new FuncaoDegrau().toString() );
		for( BigDecimal i = new BigDecimal("-5.0"); 
			i.doubleValue() < new BigDecimal("5.1").doubleValue(); 
			i = i.add(new BigDecimal("0.2")) ) {
			
			System.out.print( i + " - " );
			System.out.println( new FuncaoDegrau().aplicarFuncaoAtivacao( i.doubleValue() ) );			
		}
		System.out.println();
		
		//testa signada
		System.out.println( new FuncaoSignada().toString() );
		for( BigDecimal i = new BigDecimal("-5.0"); 
			i.doubleValue() < new BigDecimal("5.1").doubleValue(); 
			i = i.add(new BigDecimal("0.2")) ) {
			
			System.out.print( i + " - " );
			System.out.println( new FuncaoSignada().aplicarFuncaoAtivacao( i.doubleValue() ) );			
		}
		System.out.println();
		
		//testa gaussiana
		System.out.println( new FuncaoGaussiana().toString() );
		for( BigDecimal i = new BigDecimal("-5.0"); 
			i.doubleValue() < new BigDecimal("5.1").doubleValue(); 
			i = i.add(new BigDecimal("0.2")) ) {
			
			System.out.print( i + " - " );
			System.out.println( new FuncaoGaussiana().aplicarFuncaoAtivacao( i.doubleValue() ) );			
		}
		System.out.println();
		
		
	}

}
